package com.pan.alg.leecode;

import java.util.Iterator;
import java.util.Stack;

/**
 * 用两个栈来实现一个队列，使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法，即保证pop操作时队列内已有元素。
 * @author by panstark
 * @description
 * @notice
 * @date 2022/1/18
 */
public class TwoStackOneQueue {

    Stack<Integer> stackIn = new Stack<Integer>();
    Stack<Integer> stackOut = new Stack<Integer>();

    public void push(int node) {
        stackIn.add(node);
    }

    public int pop() {
        if(!stackOut.empty()){
            return stackOut.pop();
        }else{

            while(!stackIn.empty()){
                stackOut.push(stackIn.pop());
            }
            return stackOut.pop();
        }
    }

    public static void main(String[] args) {

    }
}
